home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 2 / LSD and 17bit Compendium Deluxe - Volume II.iso / a / prog / asmsrc / phagexsources.lha / source / InterCirclesRunner.s < prev    next >
Text File  |  1994-07-09  |  4KB  |  273 lines

  1.     Opt    c-
  2.     Section    "Base Code",Code_c
  3.  
  4. Start    Movem.l    d0-d7/a0-a6,-(sp) 
  5.     Bsr    KillSys      
  6.     
  7.     Lea    HardWare,a6      
  8.     Move.w    #$83c0,DMACon(a6)
  9.     
  10. Loop    Bsr    VBL    
  11.     Move.w    #$000,$Dff180
  12.     Move.w    #$00f,$Dff182
  13.     Move.w    #$f00,$Dff184
  14.     Move.w    #$fff,$Dff186
  15.     Lea    SineXPt(pc),a0
  16.     Lea    CircleGFX(pc),a1
  17.     Bsr    InterCirclesSeg+$20
  18.  
  19.     Btst    #6,$Bfe001      
  20.     Bne    Loop      
  21.         
  22.     Bsr    ReturnSys      
  23.     Movem.l    (sp)+,d0-d7/a0-a6 
  24.     Moveq    #0,d0      
  25.     Rts
  26.  
  27. KillSys    Bsr.s    SysWait    
  28.  
  29.     Move.l    $4,a6    
  30.     Lea    GFXName(pc),a1    
  31.     Moveq    #0,d0    
  32.     Jsr    -552(a6)    
  33.         
  34.     Lea    OldCop1(pc),a5
  35.     Move.l    $26(a0),$0(a5)    
  36.     Move.l    $32(a0),$4(a5)    
  37.     
  38.     Lea    HardWare,a6
  39.     Move.w    IntEnaR(a6),d0    
  40.     Move.w    DMAConR(a6),d1  
  41.     Or.w    #$8000,d0    
  42.     And.w    #$03ff,d1    
  43.     Or.w    #$8000,d1    
  44.     Move.w    d0,$8(a5)    
  45.     Move.w    d1,$a(a5)    
  46.     
  47.     Move.w    #$7fff,IntEna(a6) 
  48.     Move.w    #$7fff,DMACon(a6) 
  49.     Rts
  50.  
  51. SysWait    Move.w    #15,d7    
  52. SysWaitLoop    Move.l    #$05000,d1    
  53.     Bsr.s    WaitVBL    
  54.     Bsr.s    VBL    
  55.     Dbf    d7,SysWaitLoop    
  56.     Rts
  57.  
  58. VBL    Move.l    #$13000,d1    
  59. WaitVBL    Movem.l    d0-d1/a6,-(sp)    
  60.     Lea    HardWare,a6    
  61. WaitVBLLoop    Move.l    VPosR(a6),d0    
  62.     And.l    #$1ff00,d0    
  63.     Cmp.l    d1,d0    
  64.     Bne.s    WaitVBLLoop    
  65.     Movem.l    (sp)+,d0-d1/a6    
  66.     Rts        
  67.  
  68. ReturnSys    Lea    HardWare,a6    
  69.     Move.w    OldIntEna(pc),IntEna(a6)
  70.     Move.w    OldDMACon(pc),DMACon(a6)
  71.     Move.l    OldCop1(pc),Cop1lc(a6)
  72.     Move.l    OldCop2(pc),Cop2lc(a6)
  73.     Rts    
  74.  
  75. GFXName    Dc.b    "graphics.library",0
  76.     Even
  77. OldCop1    Dc.l    0    
  78. OldCop2    Dc.l    0    
  79. OldIntEna    Dc.w    0    
  80. OldDmaCon    Dc.w    0
  81.  
  82. SineXPt    Dc.l    $1fe
  83. SineXPt1    Dc.l    0
  84. SineXAdd    Dc.l    -$20
  85. SineXAdd1    Dc.l    -$22
  86.  
  87. SineYPt    Dc.l    0
  88. SineYPt1    Dc.l    0
  89. SineYAdd    Dc.l    $20
  90. SineYAdd1    Dc.l    $20
  91.  
  92. SineXPta    Dc.l    0
  93. SineXPt1a    Dc.l    0
  94. SineXAdda    Dc.l    -$20
  95. SineXAdd1a    Dc.l    -$20
  96.  
  97. SineYPta    Dc.l    $1fe
  98. SineYPt1a    Dc.l    0
  99. SineYAdda    Dc.l    $24
  100. SineYAdd1a    Dc.l    $20
  101.  
  102. Cmv    Macro
  103.     Dc.w    \2,\1
  104.     EndM
  105.     
  106. Cwt    Macro
  107.     Dc.w    (\1*$100)+$01,$fffe
  108.     EndM    
  109.     
  110. CwtBlit    Macro
  111.     Dc.w    $1,0
  112.     EndM    
  113.  
  114. Pal    Macro
  115.     Dc.w    $ffe1,$fffe
  116.     EndM    
  117.  
  118. EndCop    Macro
  119.     Dc.w    $ffff,$fffe
  120.     EndM    
  121.  
  122. InterCirclesSeg    Incbin    Df0:CodeSegments/InterCircles-Seg
  123. CircleGFX    Incbin    Df0:Bitmaps/Circle1.Raw
  124.  
  125. ****Custom Chip Registers****
  126.  
  127. Hardware    = $Dff000
  128.  
  129. ;Control Registers
  130.  
  131. Dmaconr    = $002
  132. Vposr    = $004
  133. Vhposr    = $006
  134. Joy0dat    = $00A
  135. Joy1dat    = $00C
  136. Clxdat    = $00E
  137. Intenar    = $01C
  138. Intereqr    = $01E
  139. Copcon    = $02E
  140.  
  141. ;Blitter Registers
  142.  
  143. Bltcon0    = $040
  144. Bltcon1    = $042
  145. Bltafwm    = $044
  146. Bltalwm    = $046
  147. Bltcpth    = $048
  148. Bltcptl    = $04A
  149. Bltbpth    = $04C
  150. Bltbptl    = $04E
  151. Bltapth    = $050
  152. Bltaptl    = $052
  153. Bltdpth    = $054
  154. Bltdptl    = $056
  155. Bltsize    = $058
  156. Bltcmod    = $060
  157. Bltbmod    = $062
  158. Bltamod    = $064
  159. Bltdmod    = $066
  160. Bltcdat    = $070
  161. Bltbdat    = $072
  162. Bltadat    = $074
  163.  
  164. ;Copper Registers
  165.  
  166. Cop1lc    = $080
  167. Cop1lch    = $080
  168. Cop1lcl    = $082
  169. Cop2lc    = $084
  170. Cop2lch    = $084
  171. Cop2lcl    = $086
  172. Copjmp1    = $088
  173. Copjmp2    = $08A
  174. Diwstrt    = $08E
  175. Diwstop    = $090
  176. Ddfstrt    = $092
  177. Ddfstop    = $094
  178. Dmacon    = $096
  179. Clxcon    = $098
  180. Intena    = $09A
  181. Intreq    = $09C
  182.  
  183. ;BitPlane Registers 
  184.  
  185. BplCon0    = $100
  186. BplCon1    = $102
  187. BplCon2    = $104
  188. BplMod1    = $108
  189. BplMod2    = $10a
  190.  
  191. BplPt0h    = $0e0
  192. BplPt0l    = $0e2
  193. BplPt1h    = $0e4
  194. BplPt1l    = $0e6
  195. BplPt2h    = $0e8
  196. BplPt2l    = $0ea
  197. BplPt3h    = $0ec
  198. BplPt3l    = $0ee
  199. BplPt4h    = $0f0
  200. BplPt4l    = $0f2
  201. BplPt5h    = $0f4
  202. BplPt5l    = $0f6
  203.  
  204. ;Colour Registers
  205.  
  206. Color00    = $180
  207. Color01    = $182
  208. Color02    = $184
  209. Color03    = $186
  210. Color04    = $188
  211. Color05    = $18a
  212. Color06    = $18c
  213. Color07    = $18e
  214. Color08    = $190
  215. Color09    = $192
  216. Color10    = $194
  217. Color11    = $196
  218. Color12    = $198
  219. Color13     = $19a
  220. Color14     = $19c
  221. Color15     = $19e
  222. Color16     = $1a0
  223. Color17     = $1a2
  224. Color18     = $1a4
  225. Color19     = $1a6
  226. Color20     = $1a8
  227. Color21     = $1aa
  228. Color22     = $1ac
  229. Color23     = $1ae
  230. Color24     = $1b0
  231. Color25     = $1b2
  232. Color26     = $1b4
  233. Color27     = $1b6
  234. Color28     = $1b8
  235. Color29     = $1ba
  236. Color30     = $1bc
  237. Color31     = $1be
  238.  
  239. EcsNop    = $1fe
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.